package com.xzzz.common.wechat;

import cn.hutool.core.util.StrUtil;
import lombok.Data;
import lombok.extern.slf4j.Slf4j;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Configuration;

import javax.annotation.PostConstruct;

/**
 * @author xzzz
 */
@Slf4j
@Data
@Configuration
@ConfigurationProperties(prefix = "xzzz.wechat")
public class WxProperties {

    /**
     * 是否启用微信相关信息
     */
    private boolean enabled;
    /**
     * 微信小程序相关信息
     */
    private Mp mp;
    /**
     * 微信公众号相关信息
     */
    private Oa oa;

    /**
     * 小程序 [Mini Program]
     */
    @Data
    public static class Mp {
        /**
         * 微信小程序 appId
         */
        private String appId;
        /**
         * 微信小程序 appSecret
         */
        private String appSecret;
    }

    /**
     * 公众号 [Open Account]
     */
    @Data
    public static class Oa {
        private String appId;
        private String appSecret;
    }

    @PostConstruct
    public void init() {
        if (enabled) {
            if (getMp() != null) {
                log.info("[  WECHAT] 微信小程序APPID:{}......",
                        StrUtil.sub(getMp().getAppId(), 0, Math.max(getMp().getAppId().length() - 6, 0)));
            } else {
                log.warn("[  WECHAT] 未配置微信小程序(mp)信息");
            }
        } else {
            log.info("未启用[wechat.enabled], 微信相关功能将无法使用");
        }

    }

}
